Lista de Verificação: Especificação de requisitos de software
Essa lista de verificação tem como objetivo ajudar a certificar-se de que a especificação de requisitos de software esteja correta e concluída.
Relacionamentos
Descrição Principal
Adaptado de Stanley E. Portny. Project Management For Dummies, 4th Edition, 2013.
Itens de Verificação
Aspectos a considerar para a especificação do requisito
  • Funcionalidade: O que o software deve fazer?
  • Interfaces: Como o software interage com as pessoas, o hardware do sistema, outros hardwares e softwares?
  • Desempenho: Qual é a velocidade, a disponibilidade, o tempo de resposta, o tempo de recuperação das várias funções de software?
  • Atributos: Quais são as considerações de portabilidade, precisão, manutenção, segurança?
  • Restrições de design impostos em uma implementação: Estão em vigor padrões requeridos, linguagem de implementação, políticas de integridade de banco de dados, limites de recursos, ambientes operacionais?
Verificar se existem requisitos que estão fora dos limites da especificação dos requisitos do software

Isso significa que a espeicificação de requisitos de software:

  • Deve definir corretamente todos os requisitos de software;
  • Não deve descrever nenhum detalhe de design ou implementação e
  • Não deve impor restrições adicionais quanto ao software.
Características fundamentais da especificação de requisitos de software
  • Correta: Todos os requisitos que devem ser atendidos pelo software estão especificados?
  • Sem ambiguidade: Cada requisito tem uma, e somente uma, interpretação? Foi utilizado o idioma do cliente? Foram utilizados diagramas para ampliar as descrições no idioma nacional?
  • Completa: A especificação inclui todos os requisitos significativos, sejam relacionados a funcionalidade, restrições de design de desempenho, atributos ou interfaces externas?  Foram identificados e considerados os intervalos de valores de entrada esperados em todos os cenários possíveis?  As respostas foram incluídas em valores de entrada válidos e inválidos? Todas as figuras, tabelas e diagramas incluem identificações, referências e definições completas de todos os termos e unidades de medida?
  • Consistente: Esta especificação está em conformidade com outras especificações de nível superior? Ela é consistente internamente e não apresenta nenhum conflito entre subconjuntos de requisitos individuais nela descritos?
  • Capacidade de Posicionar Requisitos: Cada requisito foi ativado com um identificador para indicar a importância ou estabilidade desse requisito específico? Foram identificados outros atributos significativos para se determinar a prioridade corretamente?
  • Verificável: Todos os requisitos especificados são verificáveis? Existe algum processo econômico e eficaz finito que uma pessoa ou máquina pode utilizar para verificar se o produto de software atende ao requisito?
  • Modificável: A estrutura e o estilo da especificação foram definidos de forma que quaisquer mudanças nos requisitos possam ser feitas com facilidade, de maneira integral e consistente, ao mesmo tempo conservando a estrutura e o estilo? A redundância foi identificada, minimizada e foi feita sua referência cruzada?
  • Rastreável: Cada requisito possui um identificador claro? A origem de cada requisito está clara? A capacidade de rastrear a origem dos requisitos anteriores é mantida através de referência explícita a artefatos anteriores? Foi mantido um nível razoável de rastreabilidade para os artefatos gerados pela especificação?